/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright @ Huawei Technologies Co., Ltd. 2020-2020. ALL rights reserved.
 * Description: Header file for swapmm_tlb mirror module.
 */

#ifndef _LINUX_SWAPMM_TLB_MIRROR_H
#define _LINUX_SWAPMM_TLB_MIRROR_H

extern unsigned int mem_mirror_max_pages;

int __swapmm_mem_mirror_add(unsigned long arg);
int __swapmm_mem_mirror_del(unsigned long arg);
int __swapmm_mem_mirror_query(unsigned long arg);
void __init mem_mirror_init(void);
void __exit mem_mirror_exit(void);
void mem_mirror_try_add_task(struct task_struct *);
void mem_mirror_task_exit(struct task_struct *);
void mem_mirror_task_restore(struct task_struct *);

#endif
